package com.ktwlsoft.archivemanage.payload.mendList;

import com.ktwlsoft.archivemanage.domain.dao.entity.mend.MendList;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Getter
@Setter
public class GeneratMendListRequest {

    /**
     * 模板id
     *
     * @mbg.generated
     */
    @ApiModelProperty("模板外键Id")
    private Long temId;

    /**
     * 业务检查外键
     */
    @ApiModelProperty("业务检查外键Id")
    private Long inspectId;

    /**
     * 模板名称
     *
     * @mbg.generated
     */
    @ApiModelProperty("模板名称")
    private String temName;

    /**
     * 指导单号
     *
     * @mbg.generated
     */
    @ApiModelProperty("指导单号")
    private String guidNum;

    /**
     * 立档单位
     *
     * @mbg.generated
     */
    @ApiModelProperty("立档单位")
    private String archiveUnit;

    /**
     * 指导员
     *
     * @mbg.generated
     */
    @ApiModelProperty("指导员")
    private String instructor;

    /**
     * 指导员id
     *
     * @mbg.generated
     */
    @ApiModelProperty("指导员Id")
    private Long instructorId;

    /**
     * 指导人签字
     */
    @ApiModelProperty("指导人签字")
    private String instructorSign;

    /**
     * 地址
     *
     * @mbg.generated
     */
    @ApiModelProperty("地址")
    private String gpsAddress;

    /**
     * 档案员
     *
     * @mbg.generated
     */
    @ApiModelProperty("档案员")
    private String archivist;

    /**
     * 档案员Id
     *
     * @mbg.generated
     */
    @ApiModelProperty("档案员Id")
    private Long archivistId;

    /**
     * 档案员电话
     *
     * @mbg.generated
     */
    @ApiModelProperty("档案员电话")
    private String archivistPhone;

    /**
     * 整改说明
     *
     * @mbg.generated
     */
    @ApiModelProperty("整改说明")
    private String mendRemark;

    /**
     * 被指导单位签字
     *
     * @mbg.generated
     */
    @ApiModelProperty("被指导单位签字")
    private String unitSign;

    /**
     * 被指导单位签字时间
     *
     * @mbg.generated
     */
    @ApiModelProperty("被指导单位签字时间")
    private Date unitSignDate;

    /**
     * 总分
     *
     * @mbg.generated
     */
    @ApiModelProperty("总分")
    private BigDecimal fullMark;

    /**
     * 得分
     *
     * @mbg.generated
     */
    @ApiModelProperty("得分")
    private BigDecimal mark;

    /**
     * 整改后得分
     *
     * @mbg.generated
     */
    @ApiModelProperty("整改后得分")
    private BigDecimal mendMark;

    /**
     * 整改状态, WAIT_MEND(待整改), WAIT_VERIFY(待验证), REPULSE_MEND(打回待整改), VERIFY_PASS(验证通过)
     *
     * @mbg.generated
     */
    @ApiModelProperty("整改状态, WAIT_MEND(待整改), WAIT_VERIFY(待验证), REPULSE_MEND(打回待整改), VERIFY_PASS(验证通过)")
    private MendList.MendState mendState = MendList.MendState.WAIT_MEND;

    /**
     * 指导意见
     */
    @ApiModelProperty("指导意见")
    private String guidAdvice;

    /**
     * 被指导意见
     */
    @ApiModelProperty("被指导意见")
    private String unitAdvice;

    /**
     * 验证备注
     */
    @ApiModelProperty("验证备注")
    private String verifyRemark;

    private List<GenerateMendListSubjectRequest> subjectRequests;


    @Setter
    @Getter
    public static class GenerateMendListSubjectRequest {
        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.mend_id
         *
         * @mbg.generated
         */
        private Long mendId;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.title
         *
         * @mbg.generated
         */
        private String title;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.sub_title
         *
         * @mbg.generated
         */
        private String subTitle;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.description
         *
         * @mbg.generated
         */
        private String description;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.mark
         *
         * @mbg.generated
         */
        private BigDecimal mark;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.default_mark
         *
         * @mbg.generated
         */
        private BigDecimal defaultMark;

        /**
         * 整改后得分
         */
        private BigDecimal mendMark;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.has_imgs
         *
         * @mbg.generated
         */
        private Byte hasImgs;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.must
         *
         * @mbg.generated
         */
        private Byte must;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.group_name
         *
         * @mbg.generated
         */
        private String groupName;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.sort
         *
         * @mbg.generated
         */
        private Byte sort;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.mend_remark
         *
         * @mbg.generated
         */
        private String mendRemark;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.multi_option
         *
         * @mbg.generated
         */
        private Byte multiOption;

        /**
         *
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database column mend_subject.addition_substraction
         *
         * @mbg.generated
         */
        private Byte additionSubstraction;

        @ApiModelProperty("备注")
        private String remark;

        @Getter
        @Setter
        public static class GenerateMendListSubjectOptionRequest {
            /**
             *
             * This field was generated by MyBatis Generator.
             * This field corresponds to the database column mend_subject_option.subject_id
             *
             * @mbg.generated
             */
            private Long subjectId;

            /**
             *
             * This field was generated by MyBatis Generator.
             * This field corresponds to the database column mend_subject_option.option_name
             *
             * @mbg.generated
             */
            private String optionName;

            /**
             *
             * This field was generated by MyBatis Generator.
             * This field corresponds to the database column mend_subject_option.option_mark
             *
             * @mbg.generated
             */
            private BigDecimal optionMark;

            /**
             *
             * This field was generated by MyBatis Generator.
             * This field corresponds to the database column mend_subject_option.sort
             *
             * @mbg.generated
             */
            private Byte sort;

            /**
             *
             * This field was generated by MyBatis Generator.
             * This field corresponds to the database column mend_subject_option.checked
             *
             * @mbg.generated
             */
            private Byte checked;
        }
    }
}
